Message processing method, access controller, and network node

ABSTRACT

This application provides a message processing method, an access controller, and a network node. The method includes: an access controller receives a first message used to obtain Internet Protocol (IP) address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message; the access controller obtains an authentication, authorization and accounting (AAA) message according to the first access loop identifier, wherein the AAA message comprises the first access loop identifier; and the access controller sends the AAA message to an AAA server.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/260,740, filed on Sep. 9, 2016, which is a continuation of International Application No. PCT/CN2015/073304, filed on Feb. 26, 2015, which claims priority to Chinese Patent Application No. 201410088000.1, filed on Mar. 11, 2014, All of the afore-mentioned patent applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This application relates to the field of communications technologies, and in particular, to a message processing method, an access controller, and a network node.

BACKGROUND

In a current access network, there are massive network devices, such as a digital subscriber line access multiplexer (DSLAM), an optical network unit (ONU), an optical line terminal (OLT), a router, a broadband network gateway (BNG), a switch, and a broadband remote access server. When these network devices are located on a propagation path for a message, each of these network devices needs to support a function of processing an access loop identifier carried in the message, and a format and contents of the access loop identifier vary slightly with each operator. Therefore, all these network devices need to be customized for different operators, and versions and upgrades of these network devices also aggravate the situation, which results in great operation and maintenance complexity for the network devices.

SUMMARY

This application provides a message processing method, an access controller, and a network node, to resolve a technical problem of great operation and maintenance complexity for a network device in the prior art.

A first aspect of this application provides a message processing method, including:

receiving, by an access controller, a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix; obtaining, by the access controller, first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix; and sending, by the access controller, the first IP address information to the first network node.

With reference to the first aspect, in a first possible implementation manner of the first aspect, the obtaining, by the access controller, the first IP address information based on the first access loop identifier includes: sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an authentication, authorization and accounting AAA server, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier: receiving, by the access controller, authorization information sent by the AAA server; and obtaining or allocating, by the access controller, the first IP address information based on the authorization information.

With reference to the first aspect, in a second possible implementation manner of the first aspect, the obtaining, by the access controller, the first IP address information for the user-side device based on the first access loop identifier includes: sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, where the address allocation node includes an IP edge node, a Dynamic Host Configuration Protocol DHCP server, or an authentication, authorization and accounting AAA server, the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier; and receiving, by the access controller, the first IP address information sent by the address allocation node.

With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node includes:

adding, by the access controller, either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message; and

sending, by the access controller, the second message to the address allocation node; or

the sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node includes:

creating, by the access controller, a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier; and

sending, by the access controller, the second message to the address allocation node.

With reference to the first aspect or any one of the first possible implementation manner of the first aspect to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the method further includes: receiving, by the access controller, a Media Access Control MAC address of the user-side device that is sent by the first network node; forming, by the access controller, a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and sending, by the access controller, the mapping relationship to the first network node.

With reference to the first aspect or any one of the first possible implementation manner of the first aspect to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the first aspect or any one of the first possible implementation manner of the first aspect to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or

the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A second aspect of this application further provides a message processing method, including:

receiving, by a first network node, a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix; sending, by the first network node, the first message and a first access loop identifier of the first network node to an access controller, where the first access loop identifier is not carried in the first message; receiving, by the first network node, first IP address information that is obtained for the user-side device and is sent by the access controller, where the first IP address information includes a first IP address or a first IP address prefix, and the first IP address information is specifically obtained by the access controller based on the first access loop identifier; and forwarding, by the first network node, the first IP address information to the user-side device.

With reference to the second aspect, in a first possible implementation manner of the second aspect, the method further includes: sending, by the first network node, a Media Access Control MAC address of the user-side device to the access controller, receiving, by the first network node, a mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller, and generating, by the first network node, a mapping relationship table between IP address information and a MAC address.

With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the second aspect or the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or

the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A third aspect of this application further provides an access controller, including:

a receiving unit, configured to receive a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix; a processing unit, configured to obtain first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix: and a sending unit, configured to send the first IP address information to the first network node.

With reference to the third aspect, in a first possible implementation manner of the third aspect, the processing unit is specifically configured to: control the sending unit to send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an authentication, authorization and accounting AAA server: control the receiving unit to receive authorization information sent by the AAA server; and obtain or allocate the first IP address information based on the authorization information, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier.

With reference to the third aspect, in a second possible implementation manner of the third aspect, the processing unit is specifically configured to: control the sending unit to send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, where the address allocation node includes an IP edge node, a Dynamic Host Configuration Protocol DHCP server, or an authentication, authorization and accounting AAA server; and control the receiving unit to receive the first IP address information sent by the address allocation node, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier.

With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner of the third aspect, the processing unit is specifically configured to: add either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message; and control the sending unit to send the second message to the address allocation node: or

the processing unit is specifically configured to:

create a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier: and control the sending unit to send the second message to the address allocation node.

With reference to the third aspect or any one of the first possible implementation manner of the third aspect to the third possible implementation manner of the third aspect, in a fourth possible implementation manner of the third aspect, the receiving unit is further specifically configured to receive a Media Access Control MAC address of the user-side device that is sent by the first network node; the processing unit is further specifically configured to form a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and the sending unit is further specifically configured to send the mapping relationship to the first network node.

With reference to the third aspect or any one of the first possible implementation manner of the third aspect to the fourth possible implementation manner of the third aspect, in a fifth possible implementation manner of the third aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the third aspect or any one of the first possible implementation manner of the third aspect to the fifth possible implementation manner of the third aspect, in a sixth possible implementation manner of the third aspect, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE: or

the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A fourth aspect of this application further provides an access controller, including:

a receiver, configured to receive a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix; a processor, configured to obtain first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix; and a transmitter, configured to send the first IP address information to the first network node.

With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the processor is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an authentication, authorization and accounting AAA server; receive authorization information sent by the AAA server: and obtain or allocate the first IP address information based on the authorization information, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier, and receive the first IP address information sent by an address allocation node.

With reference to the fourth aspect, in a second possible implementation manner of the fourth aspect, the processor is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, where the address allocation node includes an IP edge node, a Dynamic Host Configuration Protocol DHCP server, or an authentication, authorization and accounting AAA server, the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier; and receive the first IP address information sent by the address allocation node.

With reference to the second possible implementation manner of the fourth aspect, in a third possible implementation manner of the fourth aspect, the processor is specifically configured to: add either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message; and send the second message to the address allocation node; or

the processor is specifically configured to: create a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier: and send the second message to the address allocation node.

With reference to the fourth aspect or any one of the first possible implementation manner of the fourth aspect to the third possible implementation manner of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, the receiver is further specifically configured to receive a Media Access Control MAC address of the user-side device that is sent by the first network node; the processor is further specifically configured to form a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and the transmitter is further specifically configured to send the mapping relationship to the first network node.

With reference to the fourth aspect or any one of the first possible implementation manner of the fourth aspect to the fourth possible implementation manner of the fourth aspect, in a fifth possible implementation manner of the fourth aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the fourth aspect or any one of the first possible implementation manner of the fourth aspect to the fifth possible implementation manner of the fourth aspect, in a sixth possible implementation manner of the fourth aspect, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or

the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A fifth aspect of this application provides a network node, including:

a first receiving unit, configured to receive a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix; a first sending unit, configured to send the first message and a first access loop identifier of the network node to an access controller, where the first access loop identifier is not carried in the first message: a second receiving unit, configured to receive first IP address information obtained for the user-side device, where the first IP address information includes a first IP address or a first IP address prefix, and the first IP address information is specifically obtained by the access controller based on the first access loop identifier; and a second sending unit, configured to forward the first IP address information to the user-side device.

With reference to the fifth aspect, in a first possible implementation manner of the fifth aspect, the network node further includes a processing unit, where

the first sending unit is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller; the second receiving unit is further specifically configured to receive a mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller; and

the processing unit is specifically configured to generate a mapping relationship table between IP address information and a MAC address.

With reference to the fifth aspect or the first possible implementation manner of the fifth aspect, in a second possible implementation manner of the fifth aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the fifth aspect or the first possible implementation manner of the fifth aspect or the second possible implementation manner of the fifth aspect, in a third possible implementation manner of the fifth aspect, the network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or

the network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A sixth aspect of this application provides a network node, including:

a first receiver, configured to receive a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix; a first transmitter, configured to send the first message and a first access loop identifier of the network node to an access controller, where the first access loop identifier is not carried in the first message; a second receiver, configured to receive first IP address information that is obtained for the user-side device and is sent by the access controller, where the first IP address information includes a first IP address or a first IP address prefix, and the first IP address information is specifically obtained by the access controller based on the first access loop identifier; and a second transmitter, configured to forward the first IP address information to the user-side device.

With reference to the sixth aspect, in a first possible implementation manner of the sixth aspect, the network node further includes a processor, where

the first transmitter is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller; the second receiver is further specifically configured to receive a mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller; and

the processor is specifically configured to generate a mapping relationship table between IP address information and a MAC address.

With reference to the sixth aspect or the first possible implementation manner of the sixth aspect, in a second possible implementation manner of the sixth aspect, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the sixth aspect or the first possible implementation manner of the sixth aspect or the second possible implementation manner of the sixth aspect, in a third possible implementation manner of the sixth aspect, the network node is an access node AN, and the user-side device is customer-premises equipment CPE; or

the network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or

the network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

A seventh aspect of this application provides a message processing method, including:

receiving, by an access controller, a first message used to obtain Internet Protocol (IP) address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message;

obtaining, by the access controller, an authentication, authorization and accounting (AAA) message according to the first access loop identifier, where the AAA message includes the first access loop identifier; and

sending, by the access controller, the AAA message to an AAA server.

Optionally, where the method further includes:

receiving, by the access controller, authentication or authorization information sent by the AAA server;

obtaining or allocating, by the access controller, IP address information based on the authentication or authorization information, where the IP address information includes an IP address or an IP address prefix; and

sending, by the access controller, the IP address information to the first network node.

Optionally, where the AAA message further includes a second access loop identifier of a second network node, the second network node and the first network node belong to a same data packet forwarding path;

the obtaining, by the access controller, an authentication, authorization and accounting AAA message according to the first access loop identifier includes:

obtaining, by the access controller, the second access loop identifier according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier; and

generating, by the access controller, the AAA message according to the first access loop identifier and the second access loop identifier.

Optionally, where the method further includes:

receiving, by the access controller, a Media Access Control (MAC) address of the user-side device that is sent by the first network node; forming, by the access controller, a mapping relationship between the IP address information and the MAC address according to the obtained IP address information and the MAC address; and

sending, by the access controller, the mapping relationship to the first network node.

Optionally, where the first message and the first access loop identifier are included in an OpenFlow openflow, message.

A eighth aspect of this application provides a message processing method, including:

receiving, by a first network node, a first message that is used to obtain Internet Protocol (IP) address information for a user-side device and is sent by the user-side device;

sending, by the first network node, the first message and a first access loop identifier of the first network node to an access controller, where the first access loop identifier is not carried in the first message.

Optionally, where the method further includes:

receiving, by the first network node, IP address information that is obtained for the user-side device and is sent by the access controller, where the IP address information includes an IP address or an IP address prefix, and the IP address information is obtained by the access controller based on the first access loop identifier; and

sending, by the first network node, the IP address information to the user-side device.

Optionally, where the method further includes:

sending, by the first network node, a Media Access Control (MAC) address of the user-side device to the access controller;

receiving, by the first network node, a mapping relationship between the IP address information and the MAC address, where the mapping relationship is sent by the access controller; and

generating, by the first network node, a mapping relationship table between the IP address information and the MAC address.

Optionally, where the first message and the first access loop identifier are included in an OpenFlow message.

A ninth aspect of this application provides an access controller, including:

a receiving unit, configured to receive a first message used to obtain Internet Protocol (IP) address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message;

a processing unit, configured to obtain an authentication, authorization and accounting (AAA) message according to the first access loop identifier, where the AAA message includes the first access loop identifier; and

a sending unit, configured to send the AAA message to an AAA server.

Optionally, where

the receiving unit is further configured to receive authentication or authorization information sent by the AAA server;

the processing unit is further configured to obtain or allocate IP address information based on the authentication or authorization information, where the IP address information includes an IP address or an IP address prefix; and

the sending unit is further configured to send the IP address information to the first network node.

Optionally, where the AAA message further includes a second access loop identifier of a second network node, the second network node and the first network node belong to a same data packet forwarding path;

the processing unit is specifically configured to:

obtain the second access loop identifier according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier; and

generate the AAA message according to the first access loop identifier and the second access loop identifier.

Optionally, where

the receiving unit is further configured to receive a Media Access Control (MAC) address of the user-side device that is sent by the first network node;

the processing unit is further configured to form a mapping relationship between the IP address information and the MAC address according to the obtained IP address information and the MAC address; and

the sending unit is further configured to send the mapping relationship to the first network node.

A tenth aspect of this application provides a network node, including:

a first receiving unit, configured to receive a first message that is used to obtain Internet Protocol (IP) address information for a user-side device and is sent by the user-side device;

a first sending unit, configured to send the first message and a first access loop identifier of the network node to an access controller, where the first access loop identifier is not carried in the first message.

Optionally, where the network node further includes:

a second receiving unit, configured to receive the IP address information obtained for the user-side device, where the IP address information includes an IP address or an IP address prefix, and the IP address information is obtained by the access controller based on the first access loop identifier; and

a second sending unit, configured to send the IP address information to the user-side device.

Optionally, where the network node further includes a processing unit, where

the first sending unit is further configured to send a Media Access Control (MAC) address of the user-side device to the access controller;

the second receiving unit is further configured to receive a mapping relationship between the IP address information and the MAC address, where the mapping relationship is sent by the access controller; and

the processing unit is configured to generate a mapping relationship table between the IP address information and the MAC address.

The one or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

In the embodiments of this application, a control function of a network node is transferred to an access controller. The access controller receives a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node. The access controller obtains first IP address information for the user-side device based on the first access loop identifier. Then, the access controller sends the first access loop identifier and the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device. Therefore, in the embodiments of this application, the first access loop identifier is processed by the access controller, and the first network node performs only a simple forwarding action, and no longer needs to support a function of processing various messages. In this application, because a control plane function of the network node is separated out, the network node is simplified to a simple forwarding device, and no longer needs to support a function of processing various control messages (such as DHCP/RS/RA) related to an IP address or an IP address prefix, thereby implementing decoupling the network node from a service, and reducing operation and maintenance complexity and management costs. Further, the network node is more simplified, which helps implement high performance of the network node and reuse the network node.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the present invention more clearly, the following briefly describes the accompanying drawings required for describing the implementation manners. Apparently, the accompanying drawings in the following description show merely some implementation manners of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is a flowchart of a message processing method on an access controller side according to an embodiment of this application;

FIG. 2 is a schematic flowchart of a message processing method on a network node side according to an embodiment of this application:

FIG. 3 is a diagram of an interaction process among network elements in a message processing method according to an embodiment of this application:

FIG. 4 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention:

FIG. 5 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention;

FIG. 6 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention;

FIG. 7 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention;

FIG. 8 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention;

FIG. 9 is a schematic diagram of an implementation form of a message processing method according to an embodiment of the present invention;

FIG. 10 is a functional block diagram of an access controller according to Embodiment 2 of this application;

FIG. 11 is a concept graph of a hardware implementation instance of an access controller according to Embodiment 3 of this application:

FIG. 12 is a functional block diagram of a network node according to Embodiment 4 of this application; and

FIG. 13 is a concept graph of a hardware implementation instance of a network node according to Embodiment 5 of this application.

DESCRIPTION OF EMBODIMENTS

To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

In the embodiments of this application, a control function of a network node is transferred to an access controller. The access controller receives a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node. The access controller obtains first IP address information for the user-side device based on the first access loop identifier. Then, the access controller sends the first access loop identifier and the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device. Therefore, in the embodiments of this application, the first access loop identifier is processed by the access controller, and the first network node performs only a simple forwarding action, and no longer needs to support a function of processing various messages. In this application, because a control plane function of the network node is separated out, the network node is simplified to a simple forwarding device, and no longer needs to support a function of processing various control messages (such as DHCP/RS/RA) related to an IP address or an IP address prefix, thereby implementing decoupling the network node from a service, and reducing operation and maintenance complexity and management costs. Further, the network node is more simplified, which helps implement high performance of the network node and reuse the network node.

The term “and/or” in this specification describes only an association relationship for describing associated objects and represents that three relationships may exist. For example, A and/or B may represent the following three cases: Only A exists, both A and B exist, and only B exists. In addition, the character “/” in this specification generally indicates an “or” relationship between the associated objects.

In the following, implementation manners of this application are described in detail with reference to the accompanying drawings.

Embodiment 1

This embodiment provides a message processing method. Referring to FIG. 1 , FIG. 1 is a flowchart of the message processing method in this embodiment. The method includes the following contents.

Step 101: An access controller receives a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix.

Step 102: The access controller obtains first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix.

Step 103: The access controller sends the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device.

The method flow shown in FIG. 1 is described from an access controller side. Further referring to FIG. 2 , FIG. 2 is a method flowchart of a message processing method on a network node side in this embodiment. As shown in FIG. 2 , the method includes the following contents.

Step 201: A first network node receives a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix.

Step 202: The first network node sends the first message and a first access loop identifier of the first network node to an access controller, where the first access loop identifier is not carried in the first message.

Step 203: The first network node receives first IP address information that is obtained for the user-side device and is sent by the access controller, where the first IP address information includes a first IP address or a first IP address prefix. The first IP address information is specifically obtained by the access controller based on the first access loop identifier.

Step 204: The first network node forwards the first IP address information to the user-side device.

Referring to FIG. 3 at the same time, FIG. 3 is a diagram of an interaction process among a user-side device, a network node, and an access controller. An implementation process of the message processing method in this embodiment of this application is described in detail in the following with reference to FIG. 1 , FIG. 2 , and FIG. 3 .

In step 200, the user-side device sends a first message to a first network node, and correspondingly, the first network node performs step 201 of receiving the first message. After receiving the first message, the first network node performs step 202 of sending the first message and a first access loop identifier of the first network node to the access controller, and correspondingly, the access controller performs step 101 of receiving the first message and the first access loop identifier. After receiving the first message and the first access loop identifier, the access controller performs step 102 of obtaining first IP address information for a user-side device based on the first access loop identifier. Then, the access controller performs step 103 of sending the first IP address information to the first network node, and correspondingly, the first network node performs step 203 of receiving the first IP address information. Then, the first network node performs step 204 of forwarding the first IP address information to the user-side device.

In view of this, in this embodiment of this application, for a message sent by a user-side device, a first network node sends the message and an access loop identifier to an access controller for processing, then receives first IP address information from the access controller, and forwards the first IP address information to the user-side device, which implements separation between a control plane function and a forwarding plane function during message processing, operation and maintenance complexity of a network node is reduced, and management costs are also reduced.

The access loop identifier is also referred to as an access line identifier, and can uniquely identify a network node and a physical port or a logical port on the first network node that receives the first message.

The first message specifically includes a device identifier of the user-side device.

Optionally, in step 103, the access controller further delivers the first access loop identifier to the first network node, and correspondingly, and in step 203, the first network node further receives the first access loop identifier sent by the access controller. Therefore, further, in step 204, the first network node specifically forwards the first IP address information to the user-side device by using a physical port corresponding to the first access loop identifier.

Alternatively, in step 204, the first network node may specifically forward the first IP address information to the user-side device by using a forwarding table.

Optionally, that the first network node sends the first message and a first access loop identifier to the access controller in step 202 specifically includes: creating a third message of a type different from that of the first message, where the third message carries the first message and the first access loop identifier; and sending the third message to the access controller. The type of the third message is specifically related to a communications protocol between the network node and the access controller. For example, the network node may be connected to the access controller by using OpenFlow, an access management or control protocol (such as an optical network unit management and control interface OMCI or Ethernet operation, administration, and maintenance ETH OAM), or a tunnel. Therefore, the type of the third message may be, for example, an OpenFlow message. Correspondingly, when the access controller performs step 103, step 103 specifically includes: creating a fourth message of a same type as the third message, where the fourth message carries and sends the first access loop identifier and the first IP address information to the first network node. For example, the fourth message is also an OpenFlow message.

Specific implementation manners of step 102 are described in detail in the following, and step 102 includes but is not limited to the following two specific implementation manners.

In a first possible implementation manner, step 102 includes: sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an AAA (authentication, authorization and accounting) server; receiving, by the access controller, authorization information sent by the AAA server; and obtaining or allocating, by the access controller, the first IP address information based on the authorization information. The AAA server specifically performs authorization verification based on the first access loop identifier or based on the first access loop identifier and the second access loop identifier, and delivers the authorization information after the verification succeeds. Specifically, when the access controller sends the first access loop identifier, the AAA server performs authorization verification based on the first access loop identifier; when the access controller sends the first access loop identifier and the second access loop identifier, the AAA server performs authorization verification based on the first access loop identifier and the second access loop identifier.

Optionally, when sending the authorization information, the AAA server may further incidentally send service information to the access controller.

First, the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier, for example, is determined by the access controller according to the correspondence. A quantity of network node levels is related to a specific network. For example, for a passive optical network (PON), there are generally two network nodes, where for example, a first network node is an optical network unit (ONU), and a second network node is an optical line terminal (OLT).

Then, the sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an AAA server specifically includes: initiating, by the access controller, a fifth message of a type different from that of the first message, where the fifth message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier; and sending the fifth message to the AAA server. Correspondingly, the receiving, by the access controller, authorization information sent by the AAA server specifically includes: receiving a sixth message sent by the AAA server, where the sixth message carries the authorization information, and the sixth message and the fifth message are of a same type, for example, each is an AAA message.

In this embodiment, the access controller is integrated with a function of allocating the first IP address information by a Dynamic Host Configuration Protocol (DHCP) server. Therefore, the AAA server needs to first perform authentication or authorization on the user-side device, and after the authentication succeeds or being authorized by the AAA server, the access controller allocates an IP address or an IP address prefix.

In another embodiment, after being authorized by the AAA server, the access controller may not allocate the first IP address information, but request an IP address or an IP address prefix from the DHCP server, and by receiving first IP address information sent by the DHCP server, obtain an IP address or an IP address prefix corresponding to the user-side device.

In a second possible implementation manner, step 102 includes: sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, where in this embodiment, the address allocation node includes an IP edge node, a DHCP server, or an AAA server, so that the address allocation node allocates the first IP address information: and receiving, by the access controller, the first IP address information, such as an IP address or an IP address prefix, sent by the address allocation node.

Optionally, in an embodiment, the sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node includes: adding, by the access controller, either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message; and sending, by the access controller, the second message to the address allocation node. In other words, the second message and the first message are of a same type.

Optionally, in another embodiment, the sending, by the access controller, either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node includes: creating, by the access controller, a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier; and sending, by the access controller, the second message to the address allocation node. In an embodiment, the first message and the second message are messages of different types. For example, the first message is an RS message, and the second message is an AAA message. In another embodiment, the first message and the second message are messages of a same type. For example, each of the first message and the second message is a DHCP message. In this case, the second message may further carry the first message.

Further, in the second possible implementation manner, if the access controller sends the first access loop identifier and the second access loop identifier to the address allocation node, it indicates that there are at least two network nodes, and before the sending, the access controller further needs to obtain the second access loop identifier of the second network node. Therefore, in this embodiment, before the first access loop identifier and the second access loop identifier are sent, the method further includes: searching for the second access loop identifier according to the first access loop identifier. Generally, during network construction, a correspondence between the first access loop identifier and the second access loop identifier is already stored on the access controller. Therefore, the access controller can obtain the second access loop identifier by searching the stored correspondence according to the first access loop identifier.

Referring to FIG. 3 again, in a further embodiment, the method further includes: receiving, by the access controller, a Media Access Control MAC address of the user-side device that is sent by the first network node. Specifically, a first DHCP message sent by the user-side device to a network node is carried on an Ethernet frame, and a source MAC address in a frame header of the Ethernet frame is the MAC address of the user-side device. After receiving the first DHCP message, the network node needs to extract the source MAC address from the frame header of the Ethernet frame in which the first DHCP message is located. Then, the first network node sends the Media Access Control MAC address to the access controller. In step 104: the access controller forms a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address. In step 1051 or step 1052: the access controller sends the mapping relationship between the first IP address information and the MAC address to the first network node or the second network node, so that the first network node or the second network node generates a mapping relationship table between IP address information and a MAC address. The Media Access Control MAC address of the user-side device may be a MAC address of customer-premises equipment CPE, or may be a MAC address of user equipment (UE).

Correspondingly, on a network node side, the method further includes: sending, by the first network node, the Media Access Control MAC address of the user-side device to the access controller; and receiving, by the first network node, the mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller, and in step 1061, generating, by the first network node, the mapping relationship table between IP address information and a MAC address.

Alternatively, the method includes: sending, by the first network node, the Media Access Control MAC address of the user-side device to the access controller; and receiving, by the second network node, the mapping relationship between the first IP address information and the MAC address; and in step 1062, generating, by the second network node, the mapping relationship table between IP address information and a MAC address.

That the first network node sends the MAC address to the access controller may be performed when the first message is being sent to the access controller in step 202, or the MAC address may be sent before or after step 202, as long as the access controller receives the MAC address before step 104. Step 104 may be specifically performed after step 102 or performed after step 103.

Generally, when there is only one network node, the mapping relationship between the first IP address information and the MAC address is sent to the first network node, and the mapping relationship table is saved on the first network node. When there are two network nodes, the mapping relationship between the first IP address information and the MAC address is sent to the second network node, and the mapping relationship is saved on the second network node.

In this embodiment, the access controller obtains the mapping relationship between the first IP address information and the MAC address, and delivers the mapping relationship to a network node, and the network node saves the mapping relationship, to implement a function of preventing IP address spoofing or IP address prefix spoofing (IP prefix spoofing).

Optionally, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE: or the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

Several specific examples are separately described in detail in the following. First, in a first embodiment, in this embodiment, there is only one level of network node, and the network node is a network node in a DSL/Ethernet. When the network node supports a DSL line of an asynchronous transfer mode (ATM), a format of the first access loop identifier is Access-Node-Identifier atm slot/portvpi.vci. When the network node supports an Ethernet DSL/Ethernet line, a format of the first access loop identifier is Access-Node-Identifier eth slot/port [:vlan-id]. Access-Node-Identifier is an identifier of the network node (such as a DSLAM); slot/port is one or a combination of a chassis number, a rack number, a frame number, a slot number, a sub-slot number, or a port (port) number on the network node: vpi.vci is a virtual path identifier and a virtual channel identifier on the DSL line; “[ ]” in the format means optional, and :vlan-id (virtual local area network identifier).

A message processing method in FIG. 4 is a scenario in which a user-side device requests to allocate first IP address information, and the method includes:

Step 301: A user-side device sends a first DHCP message to a first network node.

Step 302: The first network node creates a first OpenFlow message. OpenFlow extension is required, so that the first OpenFlow message (such as a packet-in message) carries the first DHCP message and a corresponding first access loop identifier Line ID of the first network node. Optionally, the first OpenFlow message further carries a MAC address of the user-side device that sends the first DHCP message.

Step 303: The first network node sends the first OpenFlow message to an access controller.

Step 304: The access controller obtains the first DHCP message and the first access loop identifier Line ID from the first OpenFlow message, and adds the Line ID to the first DHCP message, to form a second DHCP message, or the access controller obtains the first DHCP message and the first access loop identifier Line ID from the first OpenFlow message, and creates a second DHCP message, where the second DHCP message carries the first DHCP message and the first access loop identifier Line ID.

Step 305: The access controller sends the second DHCP message to an IP edge node (such as a BNG/BRAS) or a DHCP server. The BRAS is a broadband access server.

Step 306: The IP edge node/DHCP server obtains or allocates first IP address information according to the Line ID.

Step 307: The IP edge node/DHCP server sends a third DHCP message to the access controller, where the third DHCP message carries the allocated first IP address information.

Step 308: The access controller sends a second OpenFlow message to the first network node, where the second OpenFlow message carries the Line ID and the third DHCP message.

Step 309: The first network node forwards the third DHCP message to the user-side device.

Further, the method further includes:

The first network node further sends the MAC address of the user-side device to the access controller, which is, for example, performed in step 302 or performed separately.

Step 310: The access controller forms a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address.

Step 311: The access controller sends a third OpenFlow message to the first network node, where the third OpenFlow message carries the mapping relationship between the first IP address information and the MAC address.

Step 312: The first network node generates a mapping relationship table between IP address information and a MAC address according to the third OpenFlow message.

Then, further referring to FIG. 5 , FIG. 5 is a flowchart of another message processing method, and the method includes:

Step 401: A user-side device sends a first DHCP message to a first network node.

Step 402: The first network node creates a first OpenFlow message. OpenFlow extension is required, so that the first OpenFlow message (such as a packet-in message) carries the first DHCP message and a corresponding first access loop identifier Line ID of the first network node. Optionally, the first OpenFlow message further carries a MAC address of the user-side device that sends the first DHCP message.

Step 403: The first network node sends the first OpenFlow message to an access controller.

Step 404: The access controller initiates a first AAA message, where the first AAA message carries the Line ID.

Step 405: The access controller sends the first AAA message to an AAA server.

Step 406: The AAA server sends a second AAA message to the access controller, where the second AAA message carries authorization information. Optionally, the second AAA message may further carry service information.

Step 407: The access controller obtains or allocates first IP address information based on the authorization information.

Step 408: The access controller sends a second OpenFlow message to the first network node, where the second OpenFlow message carries the Line ID and a second DHCP message, and the second DHCP message carries the allocated first IP address information.

Step 409: The first network node forwards the second DHCP message to the user-side device.

Further, the method further includes: further sending, by the first network node, the MAC address to the access controller, which is, for example, performed in step 402 or performed separately; and step 410 to step 412, where step 410 to step 412 are the same as step 310 to step 312 in FIG. 4 , and details are not described herein.

Then, further referring to FIG. 6 , FIG. 6 is an application scenario in an IPv6 (Internet Protocol Version 6) network, and a message processing method includes:

Step 501: A user-side device sends a router solicitation (RS) message to a first network node.

Step 502: The first network node creates a first OpenFlow message. OpenFlow extension is required, so that the first OpenFlow message (such as a packet-in message) carries the RS message and a corresponding first access loop identifier Line ID of the first network node. Optionally, the first OpenFlow message further carries a MAC address of the user-side device that sends the RS message.

Step 503: The first network node sends the first OpenFlow message to an access controller.

Step 504: The access controller obtains the first DHCP message and the first access loop identifier Line ID from the first OpenFlow message, and the access controller initiates a first AAA message, where the first AAA message carries the Line ID.

Step 505: The access controller sends the first AAA message to an AAA (authentication, authorization and accounting) server.

Step 506: The AAA server allocates a first IP address prefix according to the Line ID.

Step 507: The AAA server sends a second AAA message to the access controller, where the second AAA message carries the allocated first IP address prefix.

Step 508: The access controller sends a second OpenFlow message to the first network node. OpenFlow extension is required, so that the second OpenFlow message carries the Line ID and a router advertisement (RA) message, and the RA message carries the allocated first IP address prefix.

Step 509: The first network node forwards the RA message to the user-side device.

Further, the method further includes:

The first network node further sends the MAC address of the user-side device to the access controller, which may be performed in step 502 or performed separately. Specifically, the RS message sent by the user-side device to the first network node is carried on an Ethernet frame, and a source MAC address in a frame header of the Ethernet frame is the MAC address of the user-side device. After receiving the RS message, the first network node needs to extract the source MAC address from the frame header of the Ethernet frame in which the RS message is located, and then the first network node sends the Media Access Control MAC address to the access controller for receiving.

Step 510: The access controller forms a mapping relationship between the first IP address prefix and the MAC address according to the obtained first IP address prefix and the MAC address.

Step 511: The access controller sends a third OpenFlow message to the first network node, where the third OpenFlow message carries the mapping relationship between the first IP address prefix and the MAC address.

Step 512: The first network node generates a mapping relationship table between an IP address prefix and a MAC address according to the third OpenFlow message.

For a PON system, an access loop identifier includes a first access loop identifier of a first network node and a second access loop identifier of a second network node. In this embodiment, it is assumed that the first network node is an ONU, and that the second network node is an OLT. A format of an access loop identifier is Access-Node-Identifier atm slot1/port1/ONUID/slot2/port2:vpi.vci when the ONU supports a DSL line of an ATM, or Access-Node-Identifier eth slot1/port1/ONUID/slot2/port2[:vlan-id] when the ONU supports an Ethernet DSL/Ethernet line. Access-Node-Identifier is an identifier of the OLT; slot1/port1 is one or a combination a chassis number, a rack number, a frame number, a slot number, a sub-slot number, or a portnumber on the OLT; slot2/port2 is one or a combination of a chassis number, a rack number, a frame number, a slot number, a sub-slot number, or a port number on the ONU. ONUID/slot2/port2:vpi.vci is ONU-part Line ID information, and Access-Node-Identifier slot1/port1 is OLT-part Line ID information. That is, the first access loop identifier is an ONU-part Line ID, and the second access loop identifier is an OLT-part Line ID.

Then, referring to FIG. 7 , FIG. 7 is a message processing method in a PON system, and the method includes:

Step 601: A user-side device sends a first DHCP message to an ONU.

Step 602: The ONU creates a first OpenFlow message. OpenFlow extension is required, so that the first OpenFlow message (such as a packet-in message) carries an ONU-part Line ID and the first DHCP message. Optionally, the first OpenFlow message further carries a MAC address of the user-side device that sends the first DHCP message.

Step 603: The ONU sends the first OpenFlow message to an access controller.

Step 604: The access controller obtains the first DHCP message and the ONU-part Line ID from the first OpenFlow message, and then searches for an OLT-part Line ID corresponding to the user-side device according to the ONU-part Line ID.

Step 605: The access controller adds the ONU-part Line ID and the OLT-part Line ID to the first DHCP message, to form a second DHCP message; or creates a second DHCP message, where the second DHCP message carries the first DHCP message, the ONU-part Line ID, and the OLT-part Line ID.

Step 606: The access controller sends the second DHCP message to an IP edge node/DHCP server.

Step 607: The IP edge node/DHCP server allocates first IP address information according to the ONU-part Line ID and the OLT-part Line ID.

Step 608: The IP edge node/DHCP server sends a third DHCP message to the access controller, where the third DHCP message carries the allocated first IP address information.

Step 609: The access controller sends a second OpenFlow message to the ONU, where the second OpenFlow message carries the ONU-part Line ID and the third DHCP message.

Step 610: The ONU sends the third DHCP message to the user-side device.

Further, the method further includes:

The ONU further sends the MAC address of the user-side device to the access controller, which is, for example, performed in step 602 or performed separately.

Step 611: The access controller forms a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address.

Step 612: The access controller sends a third OpenFlow message to an OLT, where the third OpenFlow message carries the mapping relationship between the first IP address information and the MAC address.

Step 613: The OLT generates a mapping relationship table between IP address information and a MAC address according to the third OpenFlow message.

Then, further referring to FIG. 8 . FIG. 8 is a schematic flowchart of another DHCP message processing method, and the method includes:

Step 701 to step 704 are the same as step 601 to step 604 in the embodiment in FIG. 7 , and details are not described.

Step 705: The access controller initiates a first AAA message, where the message carries the ONU-part Line ID and the OLT-part Line ID.

Step 706: The access controller sends the first AAA message to an AAA server.

Step 707: The AAA server sends a second AAA message to the access controller, where the second AAA message carries authorization information.

Step 708: The access controller obtains or allocates first IP address information according to the authorization information.

Step 709: The access controller sends a second OpenFlow message to the ONU, where the second OpenFlow message carries the ONU-part Line ID and a second DHCP message, and the second DHCP message carries the allocated first IP address information.

Step 710: The ONU sends the second DHCP message to the user-side device.

Further, the method includes: further sending, by the ONU, the MAC address of the user-side device to the access controller, which is, for example, performed in step 702 or performed separately; and step 711 to step 713, where step 711 to step 713 are the same as step 611 to step 613 in the embodiment in FIG. 7 , and details are not described herein.

Further referring to FIG. 9 , FIG. 9 is a flowchart of a message processing method in an IPv6 application scenario in a PON network, and the method includes:

Step 801: A user-side device sends an RS message to an ONU.

Step 802: The ONU creates a first OpenFlow message. OpenFlow extension is required, so that the first OpenFlow message (such as a packet-in message) carries an ONU-part Line ID and the RS message. Optionally, the first OpenFlow message further carries a MAC address of the user-side device that sends the RS message.

Step 803: The ONU sends the first OpenFlow message to an access controller.

Step 804: The access controller obtains the RS message and the ONU-part Line ID from the first OpenFlow message, and searches for an OLT-part Line ID corresponding to the user-side device according to the ONU-part Line ID.

Step 805: The access controller initiates a first AAA message, where the message carries the ONU-part Line ID and the OLT-part Line ID.

Step 806: The access controller sends the first AAA message to an AAA server.

Step 807: The AAA server allocates a first IP address prefix according to the ONU-part Line ID and the OLT-part Line ID.

Step 808: The AAA server sends a second AAA message to the access controller, where the second AAA message carries the allocated first IP address prefix.

Step 809: The access controller sends a second OpenFlow message to the ONU. OpenFlow extension is required, so that the second OpenFlow message carries the ONU-part Line ID and an RA message, and the RA message carries the allocated first IP address prefix.

Step 810: The ONU sends the RA message to the user-side device.

Further, the method further includes:

further sending, by the ONU, the MAC address of the user-side device to the access controller, which is, for example, performed in step 802 or performed separately.

Step 811: The access controller forms a mapping relationship between the first IP address prefix and the MAC address according to the obtained first IP address prefix and the MAC address.

Step 812: The access controller sends a third OpenFlow message to an OLT, where the third OpenFlow message carries the mapping relationship between the first IP address prefix and the MAC address.

Step 813: The OLT generates a mapping relationship table between an IP address prefix and a MAC address according to the third OpenFlow message.

Embodiment 2

An embodiment of this application further provides an access controller. Referring to FIG. 10 , the access controller includes: a receiving unit 901, configured to receive a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix; a processing unit 902, where the access controller obtains first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix; and a sending unit 903, configured to send the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device.

Optionally, the sending unit 903 is further configured to send the first access loop identifier to the first network node, so that the first network node can forward the first IP address information to the user-side device from a physical port corresponding to the first access loop identifier.

In an embodiment, the processing unit 902 is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an authentication, authorization and accounting AAA server; receive authorization information sent by the AAA server; and obtain or allocate the first IP address information based on the authorization information, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined by the access controller according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier.

In another embodiment, the processing unit 902 is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, where the address allocation node includes an IP edge node, a Dynamic Host Configuration Protocol DHCP server, or an AAA server, the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined by the access controller according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier, so that the address allocation node allocates the first IP address information; and receive the first IP address information sent by the address allocation node.

Further, the processing unit 902 is specifically configured to: add either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message; and send the second message to the address allocation node.

Further, the processing unit 902 is specifically configured to: create a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier: and send the second message to the address allocation node. Types of the first message and the second message may be the same or different.

With reference to the foregoing embodiments, the processing unit 902 is further specifically configured to search for the second access loop identifier according to the first access loop identifier.

With reference to the foregoing embodiments, the receiving unit 901 is further specifically configured to receive a Media Access Control MAC address of the user-side device that is sent by the first network node; the processing unit 902 is further specifically configured to form a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and the sending unit 903 is further specifically configured to send the mapping relationship between the first IP address information and the MAC address to the first network node or the second network node, so that the first network node or the second network node generates a mapping relationship table between IP address information and a Media Access Control MAC address.

With reference to the foregoing embodiments, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the foregoing embodiments, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE: or the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

In a product form, the access controller may be embedded in an OLT/BNG device, or may be an independent device.

Various variation manners and specific instances in the message processing methods in the foregoing embodiments of FIG. 1 and FIG. 3 to FIG. 9 are also applicable to the access controller in this embodiment. By means of the foregoing detailed description on the message processing methods, a person skilled in the art may clearly know an implementation method of the access controller in this embodiment, and for ease of brevity in this description, details are not described herein.

Embodiment 3

This embodiment provides an access controller. Referring to FIG. 11 , FIG. 11 is a concept graph of a hardware implementation instance of the access controller. The access controller includes: a receiver 1001, configured to receive a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node, the first access loop identifier is not carried in the first message, and the IP address information includes an IP address or an IP address prefix: a processor 1002, where the access controller obtains first IP address information for the user-side device based on the first access loop identifier, where the first IP address information includes a first IP address or a first IP address prefix; and a transmitter 1003, configured to send the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device.

Optionally, the transmitter 1003 is further configured to send the first access loop identifier to the first network node, so that the first network node can forward the first IP address information to the user-side device from a physical port corresponding to the first access loop identifier.

In a bus architecture (indicated by a bus 1000) in FIG. 11 , the bus 1000 may include any quantity of interconnected buses and bridges. The bus 1000 connects various circuits including one or more processors 1002 represented by a processor 1002 and a memory represented by a memory 1005. The bus 1000 may further connect various other circuits such as a peripheral device, a voltage stabilizer, and a power management circuit, which are known in the art. Therefore, further description is not provided herein. A bus interface 1004 provides an interface between the bus 1000 and the receiver 1001 and/or the transmitter 1003. The receiver 1001 and the transmitter 1003 may be a same element, that is, a transceiver, which provides a unit configured to communicate with various other apparatuses on a transmission medium.

The processor 1002 is responsible for managing the bus 1000 and general processing, and may further provide various functions, including timing, peripheral interfacing, voltage regulation, power management, and another control function. The memory 1005 may be configured to store data used by the processor 1002 executing an operation.

In an embodiment, the processor 1002 is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an AAA server; receive authorization information sent by the AAA server; and obtain or allocate the first IP address information based on the authorization information, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined by the access controller according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier.

In another embodiment, the processor 1002 is specifically configured to: send either the first access loop identifier or the first access loop identifier and a second access loop identifier of a second network node to an address allocation node, so that the address allocation node allocates the first IP address information; and receive the first IP address information sent by the address allocation node, where the second network node and the first network node belong to a same data packet forwarding path, and the second access loop identifier is determined by the access controller according to the first access loop identifier and a correspondence between the first access loop identifier and the second access loop identifier.

Further, the processor 1002 is specifically configured to: add either the first access loop identifier or the first access loop identifier and the second access loop identifier to the first message, to form a second message: and send the second message to the address allocation node.

Further, the processor 1002 is specifically configured to: create a second message, where the second message carries the first access loop identifier or carries the first access loop identifier and the second access loop identifier; and send the second message to the address allocation node. Types of the first message and the second message may be the same or different.

With reference to the foregoing embodiments, the processor 1002 is further specifically configured to search for the second access loop identifier according to the first access loop identifier.

With reference to the foregoing embodiments, the receiver 1001 is further specifically configured to receive a Media Access Control MAC address of the user-side device that is sent by the first network node; the processor 1002 is further specifically configured to form a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and the transmitter 1003 is further specifically configured to send the mapping relationship between the first IP address information and the MAC address to the first network node or the second network node, so that the first network node or the second network node generates a mapping relationship table between IP address information and a Media Access Control MAC address.

With reference to the foregoing embodiments, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the foregoing embodiments, the first network node is an access node AN, and the user-side device is customer-premises equipment CPE; or the first network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or the first network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

In a product form, the access controller may be embedded in an OLT/BNG device, or may be an independent device.

Various variation manners and specific instances in the message processing methods in the foregoing embodiments of FIG. 1 and FIG. 3 to FIG. 9 are also applicable to the access controller in this embodiment. By means of the foregoing detailed description on the message processing methods, a person skilled in the art may clearly know an implementation method of the access controller in this embodiment, and for ease of brevity in this description, details are not described herein.

Embodiment 4

This embodiment provides a network node, as shown in FIG. 12 . In FIG. 12 , units are drawn according to a message processing flow, where the network node includes:

a first receiving unit 1100, configured to receive a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix; a first sending unit 1101, configured to send the first message and a first access loop identifier of the network node to an access controller, where the first access loop identifier is not carried in the first message; a second receiving unit 1102, configured to receive first IP address information that is obtained for the user-side device and is sent by the access controller, where the first IP address information includes a first IP address or a first IP address prefix, and the first IP address information is specifically obtained by the access controller based on the first access loop identifier; and a second sending unit 1103, configured to forward the first IP address information to the user-side device.

Optionally, the second receiving unit 1102 is further configured to receive the first access loop identifier sent by the access controller, and the second sending unit 1103 is specifically configured to forward the first IP address information to the user-side device from a physical port corresponding to the first access loop identifier.

In an embodiment, the network node further includes a processing unit 1104, where the first sending unit 1101 is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller; the second receiving unit 1102 is further specifically configured to receive a mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller; and the processing unit 1104 is specifically configured to generate a mapping relationship table between IP address information and a MAC address.

In another embodiment, the first sending unit 1101 is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller, so that the access controller forms a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address, and send the mapping relationship to a second network node.

With reference to the foregoing embodiments, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the foregoing embodiments, the network node is an access node AN, and the user-side device is customer-premises equipment CPE; or the network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or the network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

Alternatively, the network node may be specifically a DSLAM, an OLT, an Ethernet switch, an aggregation device, a BNG/BRAS, or the like.

Various variation manners and specific instances in the message processing methods in the foregoing embodiments of FIG. 2 to FIG. 9 are also applicable to the network node in this embodiment. By means of the foregoing detailed description on the message processing methods, a person skilled in the art may clearly know an implementation method of the network node in this embodiment, and for ease of brevity in this description, details are not described herein.

Embodiment 5

This embodiment provides a network node. Referring to FIG. 13 . FIG. 13 is a block diagram of a hardware implementation instance of the network node. The network node includes: a first receiver 1201, configured to receive a first message that is used to obtain Internet Protocol IP address information for a user-side device and is sent by the user-side device, where the IP address information includes an IP address or an IP address prefix: a first transmitter 1202, configured to send the first message and a first access loop identifier of the network node to an access controller, where the first access loop identifier is not carried in the first message: a second receiver 1203, configured to receive first IP address information that is obtained for the user-side device and is sent by the access controller, where the first IP address information includes a first IP address or a first IP address prefix: and the first IP address information is specifically obtained by the access controller based on the first access loop identifier; and a second transmitter 1204, configured to forward the first IP address information to the user-side device.

Optionally, the network node further includes a physical port 1205. The second receiver 1203 is further configured to receive the first access loop identifier sent by the access controller. Therefore, the second transmitter 1204 is specifically configured to forward the first IP address information to the user-side device from the physical port 1205 corresponding to the first access loop identifier.

In an embodiment, the network node further includes a processor 1207, where the first transmitter 1202 is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller; the second receiver 1203 is further specifically configured to receive a mapping relationship between the first IP address information and the MAC address, where the mapping relationship is sent by the access controller: and the processor 1207 is specifically configured to generate a mapping relationship table between IP address information and a MAC address.

In another embodiment, the first transmitter 1202 is further specifically configured to send a Media Access Control MAC address of the user-side device to the access controller, so that the access controller forms a mapping relationship between the first IP address information and the MAC address according to the obtained first IP address information and the MAC address; and send the mapping relationship to a second network node.

In a bus architecture (indicated by a bus 1200) in FIG. 13 , the bus 1200 may include any quantity of interconnected buses and bridges. The bus 1200 connects various circuits including one or more processors represented by a processor 1207 and a memory represented by a memory 1208. The bus 1200 may further connect various other circuits such as a peripheral device, a voltage stabilizer, and a power management circuit, which are known in the art. Therefore, further description is not provided herein. A bus interface 1206 provides an interface between the bus 1200 and the first receiver 1201 and the second transmitter 1204 and between the bus 1200 and the first transmitter 1202 and the second receiver 1203. The first receiver 1201 and the second transmitter 1204 may be a same element, that is, a transceiver, and the first transmitter 1202 and the second receiver 1203 may be a same element, which provides a unit configured to communicate with various other apparatuses on a transmission medium.

The processor 1207 is responsible for managing the bus 1200 and general processing, and the memory 1208 may be configured to store data used by the processor 1207 executing an operation.

With reference to the foregoing embodiments, the first message and the first access loop identifier are included in an OpenFlow message.

With reference to the foregoing embodiments, the network node is an access node AN, and the user-side device is customer-premises equipment CPE; or the network node is an optical network unit ONU, and the user-side device is customer-premises equipment CPE; or the network node is customer-premises equipment CPE, and the user-side device is user equipment (UE) connected to the CPE.

Alternatively, the network node may be specifically a DSLAM, an OLT, an Ethernet switch, an aggregation device, a BNG/BRAS, or the like.

Various variation manners and specific instances in the message processing methods in the foregoing embodiments of FIG. 2 to FIG. 9 are also applicable to the network node in this embodiment. By means of the foregoing detailed description on the message processing methods, a person skilled in the art may clearly know an implementation method of the network node in this embodiment, and for ease of brevity in this description, details are not described herein.

The one or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

In the embodiments of this application, a control function of a network node is transferred to an access controller. The access controller receives a first message used to obtain Internet Protocol IP address information for a user-side device and a first access loop identifier of a first network node, where the first message and the first access loop identifier are sent by the first network node. The access controller obtains first IP address information for the user-side device based on the first access loop identifier. Then, the access controller sends the first access loop identifier and the first IP address information to the first network node, so that the first network node can forward the first IP address information to the user-side device. Therefore, in the embodiments of this application, the first access loop identifier is processed by the access controller, and the first network node performs only a simple forwarding action, and no longer needs to support a function of processing various messages. In this application, because a control plane function of the network node is separated out, the network node is simplified to a simple forwarding device, and no longer needs to support a function of processing various control messages (such as DHCP/RS/RA) related to an IP address or an IP address prefix, thereby implementing decoupling the network node from a service, and reducing operation and maintenance complexity and management costs. Further, the network node is more simplified, which helps implement high performance of the network node and reuse the network node.

A person skilled in the art should understand that the embodiments of this application may be provided as a method, a system, or a computer program product. Therefore, this application may use a form of hardware only embodiments, software only embodiments, or embodiments with a combination of software and hardware. Moreover, the present invention may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that include computer-usable program code.

This application is described with reference to the flowcharts and/or block diagrams of the method, the device (system), and the computer program product according to the embodiments of this application. It should be understood that computer program instructions may be used to implement each process and/or each block in the flowcharts and/or the block diagrams and a combination of a process and/or a block in the flowcharts and/or the block diagrams. These computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of any other programmable data processing device to generate a machine, so that the instructions performed by a computer or a processor of any other programmable data processing device generate an apparatus for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions may be stored in a computer readable memory that can instruct the computer or any other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions may be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, thereby generating computer-implemented processing. Therefore, the instructions performed on the computer or the another programmable device provide steps for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

Finally, it should be noted that the foregoing embodiments are merely intended for describing the technical solutions of the present invention, but not for limiting the present invention. Although the present invention is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some or all technical features thereof, without departing from the scope of the technical solutions of the embodiments of the present invention. 

What is claimed is:
 1. A message processing method, comprising: receiving, by an access controller, a first message used to obtain Internet Protocol (IP) address information for a user-side device, from a first network node, wherein the first network node is different from the user-side device, wherein the first message does not include a first access loop identifier of the first network node, wherein the first access loop identifier is configured to identify the first network node and a physical port or a logical port on the first network node; receiving, by the access controller, the first access loop identifier of the first network node; adding, by the access controller, the first access loop identifier to the first message; transmitting, by the access controller, the first message comprising the first access loop identifier; receiving, by the access controller, an IP address allocated for the user-side device; and transmitting, by the access controller, the IP address to the first network node.
 2. The method according to claim 1, wherein the first message is one of a Dynamic Host Configuration Protocol (DHCP) message or a router solicitation message.
 3. The method according to claim 1, wherein the first access loop identifier is used for authentication, authorization and IP address allocation.
 4. The method according to claim 1, wherein the method comprises: receiving, by the access controller, a Media Access Control (MAC) address of the user-side device that is sent by the first network node; forming, by the access controller, a mapping relationship between the IP address information obtained and the MAC address; and, transmitting, by the access controller, the mapping relationship to the first network node.
 5. The method according to claim 1, wherein the first network node is one of a digital subscriber line access multiplexer (DSLAM), an optical network unit (ONU), an optical line terminal (OLT), an Ethernet switch, or an aggregation device.
 6. The method according to claim 1, wherein the IP address of the user-side device is allocated for by an address allocation node, the address allocation node is one of an IP edge node, a Dynamic Host Configuration Protocol (DHCP) server, or an authentication, authorization and accounting (AAA) server.
 7. An access controller, comprising: a receiver; a transmitter; at least one memory; and at least one processor; the at least one processor coupled to the at least one memory, the receiver and the transmitter, wherein the at least one memory includes instructions that when executed by the at least one processor cause the access controller to perform the following: receiving a first message used to obtain Internet Protocol (IP) address information for a user-side device, from a first network node, wherein the first network node is different from the user-side device, wherein the first message does not include a first access loop identifier of the first network node, wherein the first access loop identifier is configured to identify the first network node and a physical port or a logical port on the first network node; receiving the first access loop identifier of the first network node; adding the first access loop identifier to the first message; transmitting the first message comprising the first access loop identifier; receiving an IP address allocated for the user-side device; and transmitting the IP address to the first network node.
 8. The access controller according to claim 7, wherein the first message is one of a Dynamic Host Configuration Protocol (DHCP) message or a router solicitation message.
 9. The access controller according to claim 7, wherein the first access loop identifier is used for authentication, authorization and IP address allocation.
 10. The access controller according to claim 7, wherein further performing: receiving a Media Access Control (MAC) address of the user-side device that is sent by the first network node; forming a mapping relationship between the IP address information obtained and the MAC address; and, transmitting the mapping relationship to the first network node.
 11. The access controller according to claim 7, wherein the first network node is one of a digital subscriber line access multiplexer (DSLAM), an optical network unit (ONU), an optical line terminal (OLT), an Ethernet switch or an aggregation device.
 12. The access controller according to claim 7, wherein the IP address of the user-side device is allocated for by an address allocation node, the address allocation node is one of an IP edge node, a Dynamic Host Configuration Protocol (DHCP) server, or an authentication, authorization and accounting (AAA) server. 